/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package jepi;

import db.MySQLManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

/**
 *
 * @author Steve
 */
public class Proyecto {

    int idProyecto = 0;
    String nombre = "";
    String descripcion = "";
    String liderProyecto = "";
    int vidaEconomica;
    int idUnidadTiempo;
    double inversionInicial = 0.0;
    double valorDeRetorno = 0.0;

    public String getDescripcion() {
        return descripcion;
    }

    public void setDescripcion(String descripcion) {
        this.descripcion = descripcion;
    }

    public int getIdProyecto() {
        return idProyecto;
    }

    public void setIdProyecto(int idProyecto) {
        this.idProyecto = idProyecto;
    }

    public double getInversionInicial() {
        return inversionInicial;
    }

    public void setInversionInicial(float inversionInicial) {
        this.inversionInicial = inversionInicial;
    }

    public String getLiderProyecto() {
        return liderProyecto;
    }

    public void setLiderProyecto(String liderProyecto) {
        this.liderProyecto = liderProyecto;
    }

    public String getNombre() {
        return nombre;
    }

    public void setNombre(String nombre) {
        this.nombre = nombre;
    }

    public double getValorDeRetorno() {
        return valorDeRetorno;
    }

    public void setValorDeRetorno(float valorDeRetorno) {
        this.valorDeRetorno = valorDeRetorno;
    }

    public int getVidaEconomica() {
        return vidaEconomica;
    }

    public void setVidaEconomica(int vidaEconomica) {
        this.vidaEconomica = vidaEconomica;
    }

    public int getIdUnidadTiempo() {
        return idUnidadTiempo;
    }

    public void setIdUnidadTiempo(int idUnidadTiempo) {
        this.idUnidadTiempo = idUnidadTiempo;
    }

    public void cargar(int idProyecto) {
        try {
            String sqlProy = "SELECT * FROM proyecto WHERE id_proyecto=" + idProyecto;
            ResultSet rs = MySQLManager.ejecutarConsultaSelect(sqlProy, true);
            this.setIdProyecto(rs.getInt("id_proyecto"));
            this.setNombre(rs.getString("nombre"));
            this.setDescripcion(rs.getString("descripcion"));
            this.setLiderProyecto(rs.getString("lider_proyecto"));
            this.setVidaEconomica(rs.getInt("vida_economica"));
            this.setInversionInicial(rs.getFloat("inversion_inicial"));
            this.setValorDeRetorno(rs.getFloat("valor_de_retorno"));
            this.setIdUnidadTiempo(rs.getInt("id_unidad_tiempo"));
        } catch (SQLException ex) {
            System.out.println(ex);
        }
    }

    public boolean guardar() {
        boolean ret = false;
        PreparedStatement ps = null;
        String update = "UPDATE proyecto set "
                + "nombre=? , descripcion=?"
                + ", lider_proyecto=?, vida_economica=?"
                + ", inversion_inicial=?, valor_de_retorno=?,id_unidad_tiempo=?"
                + " WHERE id_proyecto=?";
        String insert = "INSERT INTO proyecto "
                + "(nombre, descripcion, lider_proyecto, vida_economica, inversion_inicial, valor_de_retorno, id_unidad_tiempo) "
                + "values(?,?,?,?,?,?,?)";

        try {
            if (getIdProyecto() > 0) {
                ps = MySQLManager.getConexionEstatica().prepareStatement(update);
                ps.setInt(8, getIdProyecto());
            } else {
                ps = MySQLManager.getConexionEstatica().prepareStatement(insert);
            }
            ps.setString(1, getNombre());
            ps.setString(2, getDescripcion());
            ps.setString(3, getLiderProyecto());
            ps.setInt(4, getVidaEconomica());
            ps.setDouble(5, getInversionInicial());
            ps.setDouble(6, getValorDeRetorno());
            ps.setInt(7, getIdUnidadTiempo());
            System.out.println(ps.toString());
            ps.executeUpdate();
            if (getIdProyecto() == 0) {
                ResultSet idrs = ps.getGeneratedKeys();
                idrs.next();
                setIdProyecto(idrs.getInt(1));
            }
            ret = true;
        } catch (SQLException ex) {
            System.out.println(ex);
        }
        return ret;
    }

    public boolean eliminar() {
        boolean ret = false;
        String delete = "DELETE FROM proyecto WHERE id_proyecto=" + getIdProyecto();
        MySQLManager.ejecutarConsultaUpdate(delete);
        ret = true;
        return ret;
    }
}
